The present application concerns pseudo-random generators, in particular gold code generators.
Pseudo-random generators have applicability for a number of communication systems, in particular, for spread spectrum wireless communications. In spread spectrum transmissions, the circuit artificially spreads the transmitted signals bandwidth by modulating an information signal, either in phase or frequency, with a pseudo-random sequence that occurs at a greater rate than that required for the data alone. During signal reception, the receiver synchronizes an internal pseudo-random generator to the pseudo-random sequence of the transmitted signal to fully recover the available power and decode the message. Most direct sequence spread spectrum systems pseudo-randomly modulate the phase of the RF carrier signal 10 times or greater than the rate required for the data transmission. This results in a signal spectrum which is much broader than would be occupied if the RF carrier signal were modulated by only the data stream. Frequency hopping systems use the pseudo-random generator to implement frequency hops within the spread spectrum range.
Matching pseudo-random generators at the transmitter and receiver allow the correlation and recovery of the information signal. Other transmitted signals with different pseudo-random codes can be transmitted in the same bandwidth since the correlation between the different pseudo-random codes is quite low. The transmissions using the different pseudo-random codes will tend not to significantly interfere with one another.
One way of implementing a pseudo-random generator is with a linear feedback shift register (LFSR). Taps from the linear feedback register are sent to a logic circuit to create a new input (feedback) bit. The linear shift register runs through a large number of different codes before repeating. The linear feedback shift register is preferably selected with a feedback path producing the maximum code length. Also beneficial for the linear shift register is low auto-correlation with shifts in the pseudo-random sequence and low cross-correlation with other sequences.
One preferred way of implementing a pseudo-random sequence is to combine the outputs of two linear feedback shift registers. Such a pseudo-random generator is called a gold code generator.
FIG. 1 illustrates a gold code generator used with the UMTS European wireless standard. The gold code generator is constructed of two linear feedback shift registers. The first linear feedback shift register has feedback taps from registers 0 and 3. The second linear feedback shift register has feedback taps at registors 0, 1, 2, and 3. The first serial linear feedback shift register's output is combined with the output of the second linear feedback shift register in the EXCLUSIVE-OR 40. The first linear feedback shift register 42 has taps at registers 4, 7 and 18 that go to a EXCLUSIVE-OR (mask) 44. The second linear feedback shift register 46 has taps at registers 4, 6, and 17 fed to the EXCLUSIVE-OR 48. The output to the EXCLUSIVE-ORs 44 and 48 are sent to a second output EXCLUSIVE-OR 52.
It is desired to have an improved implementation of a gold code generator.